package cn.lili.modules.permission.integration;

import java.util.List;

/**
 * 权限相关业务整合中间件
 *
 * @author liushuai(liushuai711 @ gmail.com)
 * @version v4.0
 * @Description:
 * @since 2023/4/12 10:08
 */
public interface PermissionIntegrationService {


    /**
     * 判定是当前部门是否有用户
     *
     * @param departmentId 部门ID
     */
    void userDepartment(List<String> departmentId);

    /**
     * 判断角色是否绑定用户
     *
     * @param roleId 角色id集合
     */
    void roleUser(List<String> roleId);

    /**
     * 判断角色是否绑定部门
     *
     * @param roleIds 角色id集合
     */
    void roleDepartment(List<String> roleIds);

    /**
     * 判断菜单是否绑定角色
     */
    void menuRole(List<String> menuId);

    /**
     * 删除角色与菜单关联
     *
     * @param roleIds 角色id集合
     */
    void deleteRoleMenuByRoles(List<String> roleIds);

    /**
     * 删除角色
     *
     * @param ids 角色id集合
     */
    void deleteRoles(List<String> ids);

    /**
     * 删除部门
     *
     * @param ids 部门id集合
     */
    void deleteDepartments(List<String> ids);

    /**
     * 删除菜单
     *
     * @param ids 菜单id集合
     */
    void deleteMenus(List<String> ids);
}
